|
@@ -5,141 +5,145 @@
|
|
<th:block th:include="include :: bootstrap-fileinput-css"/>
|
|
<th:block th:include="include :: bootstrap-fileinput-css"/>
|
|
</head>
|
|
</head>
|
|
<body class="white-bg">
|
|
<body class="white-bg">
|
|
- <div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
|
|
|
- <form class="form-horizontal m" id="form-mall-edit" th:object="${qmjsShoppingMall}">
|
|
|
|
- <input name="id" th:field="*{id}" type="hidden">
|
|
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label is-required">商品名称:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="goodsName" th:field="*{goodsName}" class="form-control" type="text" required>
|
|
|
|
- </div>
|
|
|
|
|
|
+<div class="wrapper wrapper-content animated fadeInRight ibox-content">
|
|
|
|
+ <form class="form-horizontal m" id="form-mall-edit" th:object="${qmjsShoppingMall}">
|
|
|
|
+ <input name="id" th:field="*{id}" type="hidden">
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label is-required">商品名称:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <input name="goodsName" th:field="*{goodsName}" class="form-control" type="text" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">商品条码:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="goodsCode" th:field="*{goodsCode}" class="form-control" type="text">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">商品条码:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <input name="goodsCode" th:field="*{goodsCode}" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">商品种类:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <select name="goodsType" class="form-control" th:with="type=${@dict.getType('goods_type')}">
|
|
|
|
- <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{goodsType}"></option>
|
|
|
|
- </select>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">商品种类:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <select name="goodsType" class="form-control" th:with="type=${@dict.getType('goods_type')}">
|
|
|
|
+ <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{goodsType}"></option>
|
|
|
|
+ </select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">计量单位:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="goodsUnit" th:field="*{goodsUnit}" class="form-control" type="text">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">计量单位:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <input name="goodsUnit" th:field="*{goodsUnit}" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">时价商品:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="goodsCurrentPrice" th:field="*{goodsCurrentPrice}" class="form-control" type="text">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">时价商品:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <select name="goodsCurrentPrice" class="form-control" th:with="type=${@dict.getType('sys_yes_no')}">
|
|
|
|
+ <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{goodsCurrentPrice}"></option>
|
|
|
|
+ </select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">销售单价:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="salePrice" th:field="*{salePrice}" class="form-control" type="text">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">销售单价:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <input name="salePrice" th:field="*{salePrice}" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">建议售价:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="suggestionPrice" th:field="*{suggestionPrice}" class="form-control" type="text">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">建议售价:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <input name="suggestionPrice" th:field="*{suggestionPrice}" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">商品库存:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="goodsInventory" th:field="*{goodsInventory}" class="form-control" type="text">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">商品库存:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <input name="goodsInventory" th:field="*{goodsInventory}" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">库存成本:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="inventoryCost" th:field="*{inventoryCost}" class="form-control" type="text">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">库存成本:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <input name="inventoryCost" th:field="*{inventoryCost}" class="form-control" type="text">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">商品状态(正常/禁用):</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input name="goodsState" th:field="*{goodsState}" class="form-control" type="text">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">商品状态(正常/禁用):</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <select name="goodsState" class="form-control" th:with="type=${@dict.getType('sys_normal_disable')}">
|
|
|
|
+ <option th:each="dict : ${type}" th:text="${dict.dictLabel}" th:value="${dict.dictValue}" th:field="*{goodsState}"></option>
|
|
|
|
+ </select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">商品图片:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <input type="hidden" name="goodsImg" th:field="*{goodsImg}">
|
|
|
|
- <div class="file-loading">
|
|
|
|
- <input class="form-control file-upload" id="goodsImg" name="file" type="file">
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">商品图片:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <input type="hidden" name="goodsImg" th:field="*{goodsImg}">
|
|
|
|
+ <div class="file-loading">
|
|
|
|
+ <input class="form-control file-upload" id="goodsImg" name="file" type="file">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- <div class="col-xs-12">
|
|
|
|
- <div class="form-group">
|
|
|
|
- <label class="col-sm-3 control-label">商品说明:</label>
|
|
|
|
- <div class="col-sm-8">
|
|
|
|
- <textarea name="goodsDescribe" class="form-control" type="text">[[*{goodsDescribe}]]</textarea>
|
|
|
|
- </div>
|
|
|
|
|
|
+ </div>
|
|
|
|
+ <div class="col-xs-12">
|
|
|
|
+ <div class="form-group">
|
|
|
|
+ <label class="col-sm-3 control-label">商品说明:</label>
|
|
|
|
+ <div class="col-sm-8">
|
|
|
|
+ <textarea name="goodsDescribe" class="form-control" type="text">[[*{goodsDescribe}]]</textarea>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
- </form>
|
|
|
|
- </div>
|
|
|
|
- <th:block th:include="include :: footer" />
|
|
|
|
- <th:block th:include="include :: bootstrap-fileinput-js"/>
|
|
|
|
- <script th:inline="javascript">
|
|
|
|
- var prefix = ctx + "system/mall";
|
|
|
|
- $("#form-mall-edit").validate({
|
|
|
|
- focusCleanup: true
|
|
|
|
- });
|
|
|
|
|
|
+ </div>
|
|
|
|
+ </form>
|
|
|
|
+</div>
|
|
|
|
+<th:block th:include="include :: footer" />
|
|
|
|
+<th:block th:include="include :: bootstrap-fileinput-js"/>
|
|
|
|
+<script th:inline="javascript">
|
|
|
|
+ var prefix = ctx + "system/mall";
|
|
|
|
+ $("#form-mall-edit").validate({
|
|
|
|
+ focusCleanup: true
|
|
|
|
+ });
|
|
|
|
|
|
- function submitHandler() {
|
|
|
|
- if ($.validate.form()) {
|
|
|
|
- $.operate.save(prefix + "/edit", $('#form-mall-edit').serialize());
|
|
|
|
- }
|
|
|
|
|
|
+ function submitHandler() {
|
|
|
|
+ if ($.validate.form()) {
|
|
|
|
+ $.operate.save(prefix + "/edit", $('#form-mall-edit').serialize());
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
- $(".file-upload").each(function (i) {
|
|
|
|
- var val = $("input[name='" + this.id + "']").val()
|
|
|
|
- $(this).fileinput({
|
|
|
|
- 'uploadUrl': ctx + 'common/upload',
|
|
|
|
- initialPreviewAsData: true,
|
|
|
|
- initialPreview: [val],
|
|
|
|
- maxFileCount: 1,
|
|
|
|
- autoReplace: true
|
|
|
|
- }).on('fileuploaded', function (event, data, previewId, index) {
|
|
|
|
- $("input[name='" + event.currentTarget.id + "']").val(data.response.url)
|
|
|
|
- }).on('fileremoved', function (event, id, index) {
|
|
|
|
- $("input[name='" + event.currentTarget.id + "']").val('')
|
|
|
|
- })
|
|
|
|
- $(this).fileinput('_initFileActions');
|
|
|
|
- });
|
|
|
|
- </script>
|
|
|
|
|
|
+ $(".file-upload").each(function (i) {
|
|
|
|
+ var val = $("input[name='" + this.id + "']").val()
|
|
|
|
+ $(this).fileinput({
|
|
|
|
+ 'uploadUrl': ctx + 'common/upload',
|
|
|
|
+ initialPreviewAsData: true,
|
|
|
|
+ initialPreview: [val],
|
|
|
|
+ maxFileCount: 1,
|
|
|
|
+ autoReplace: true
|
|
|
|
+ }).on('fileuploaded', function (event, data, previewId, index) {
|
|
|
|
+ $("input[name='" + event.currentTarget.id + "']").val(data.response.url)
|
|
|
|
+ }).on('fileremoved', function (event, id, index) {
|
|
|
|
+ $("input[name='" + event.currentTarget.id + "']").val('')
|
|
|
|
+ })
|
|
|
|
+ $(this).fileinput('_initFileActions');
|
|
|
|
+ });
|
|
|
|
+</script>
|
|
</body>
|
|
</body>
|
|
</html>
|
|
</html>
|