From e6e41c6da0dcab6e7ad1c2dcff7111f3ca9f9b5e Mon Sep 17 00:00:00 2001 From: wangjiuyun <1595161655@qq.com> Date: Mon, 9 Jun 2025 14:17:32 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AE=A2=E5=8D=95=E5=9F=BA=E6=9C=AC=E5=AE=8C?= =?UTF-8?q?=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/resources/static/ruoyi/js/ry-ui.js | 5 +- .../resources/templates/project/info/add.html | 151 ++++++++------ .../templates/project/info/edit.html | 191 +++++++++++------- .../templates/project/info/project.html | 11 +- .../templates/project/info/selectAgent.html | 3 + .../project/info/selectCustomer.html | 3 + .../templates/project/info/selectPartner.html | 3 + .../templates/project/order/add.html | 112 +++++++--- .../templates/project/order/edit.html | 178 ++++++++++------ .../templates/project/order/order.html | 22 +- 10 files changed, 428 insertions(+), 251 deletions(-) diff --git a/ruoyi-admin/src/main/resources/static/ruoyi/js/ry-ui.js b/ruoyi-admin/src/main/resources/static/ruoyi/js/ry-ui.js index bc6df51c..3d379b07 100644 --- a/ruoyi-admin/src/main/resources/static/ruoyi/js/ry-ui.js +++ b/ruoyi-admin/src/main/resources/static/ruoyi/js/ry-ui.js @@ -931,7 +931,10 @@ var table = { }, success: function () { $(':focus').blur(); - } + }, + end: function () { + $.common.isEmpty(options.end) ? '' : options.end(); + }, }, btnCallback)); if ($.common.isNotEmpty(options.full) && options.full === true) { top.layer.full(index); diff --git a/ruoyi-admin/src/main/resources/templates/project/info/add.html b/ruoyi-admin/src/main/resources/templates/project/info/add.html index 1e4669a6..0103ebdf 100644 --- a/ruoyi-admin/src/main/resources/templates/project/info/add.html +++ b/ruoyi-admin/src/main/resources/templates/project/info/add.html @@ -66,9 +66,22 @@ input, textarea, .productTable td { position: relative; } - .productTable label[id*="iscount"]{ + + .productTable label[id*="iscount"] { top: -30px !important; } + + table tr:nth-child(odd) { + background: #f3f3f3; + } + + input[type=checkbox], input[type=radio] { + margin-top: 0; + } + + label { + margin-bottom: 0 !important; + }
@@ -77,15 +90,15 @@ - - - - + + + + + + + + + + + + - - + - + + - + + @@ -196,8 +237,13 @@ placeholder="限制200个字符"> -
项目编码* + 项目名称* 最终客户* -
预计金额(元)*
BG* @@ -137,6 +150,18 @@ onclick="selectPeople()">
最终客户* + 联系人 + 联系方式 +
合作渠道 @@ -158,30 +183,46 @@
预计金额(元)*预计下单时间 预计发货时间 POC测试 + +
竞争对手 +
+
+ 其它: +
-
- 其它: -
+ +
是否国产 +
+ + 服务器配置 + + +
配置信息

软件

@@ -268,39 +314,30 @@ -
- - - - - - - - -
服务器配置是否国产 - -
- +
+
    +
  • 工作进度
  • +
  • POC测试
  • +
+
+
+ + + + + + + + + + + + +
序号更新内容更新人员更新时间
+
+
+
-
工作进度
- - - - - - - - - - - - -
序号更新内容更新人员更新时间
@@ -325,22 +362,22 @@ $.operate.post(ctx + 'system/product/list', {...data, type: '1'}, function (res) { softwareProjectProductInfoList = res.rows softwareProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) }) $.operate.post(ctx + 'system/product/list', {...data, type: '2'}, function (res) { hardwareProjectProductInfoList = res.rows hardwareProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) }) $.operate.post(ctx + 'system/product/list', {...data, type: '11,22'}, function (res) { maintenanceProjectProductInfoList = res.rows maintenanceProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) }) @@ -349,7 +386,7 @@ function submitHandler() { if ($.validate.form()) { $.operate.save(prefix + "/add", $('#form-product-add').serialize()); - }else{ + } else { $.modal.alertWarning("请完善表单"); } } @@ -482,7 +519,7 @@ ${softwareProjectProductInfoList.map((ele) => { }).join('') } - + @@ -518,7 +555,7 @@ ${hardwareProjectProductInfoList.map((ele) => { } - + @@ -554,7 +591,7 @@ ${hardwareProjectProductInfoList.map((ele) => { } - + @@ -606,7 +643,7 @@ ${hardwareProjectProductInfoList.map((ele) => { form.on('select(productModel3)', function (data) { searchProduct(data.value, 'model', data.elem) }) - $('.layui-input').on('mouseout',function (){ + $('.layui-input').on('mouseout', function () { $(this).blur() }) }) diff --git a/ruoyi-admin/src/main/resources/templates/project/info/edit.html b/ruoyi-admin/src/main/resources/templates/project/info/edit.html index 0c828d67..f4801146 100644 --- a/ruoyi-admin/src/main/resources/templates/project/info/edit.html +++ b/ruoyi-admin/src/main/resources/templates/project/info/edit.html @@ -66,9 +66,22 @@ input, textarea, .productTable td { position: relative; } - .productTable label[id*="iscount"]{ + + .productTable label[id*="iscount"] { top: -30px !important; } + + table tr:nth-child(odd) { + background: #f3f3f3; + } + + input[type=checkbox], input[type=radio] { + margin-top: 0; + } + + label { + margin-bottom: 0 !important; + }
@@ -85,10 +98,9 @@ - 最终客户* - - + 预计金额(RMB)* + BG* @@ -143,6 +155,18 @@ onclick="selectPeople()" th:field="*{hzSupportUserName}"> + + 最终客户* + + + 联系人 + + + 联系方式 + + + 合作渠道 @@ -165,9 +189,7 @@ th:field="*{contactWay}"> - 预计金额(RMB)* - + 预计下单时间 @@ -175,23 +197,37 @@ 预计发货时间 - + POC测试 + + + 竞争对手 - +
+
+ 其它: +
- -
- 其它: -
+ + 是否国产 + + @@ -207,6 +243,12 @@ placeholder="限制200个字符" th:field="*{projectDesc}"> + + 服务器配置 + + +
配置信息
@@ -279,51 +321,46 @@ -
- - - - - - - - -
服务器配置是否国产 - -
+
+
    +
  • 工作进度
  • +
  • 操作日志
  • +
  • POC测试
  • +
+
+
+ + + + + + + + + + + + +
序号更新内容更新人员更新时间
+
+
+ + + + + + + + + + +
序号操作人员操作内容操作时间
+
+
+
+
-
工作进度
- - - - - - - - - - - - -
序号更新内容更新人员更新时间
-
操作日志
- - - - - - - - - - -
序号操作人员操作内容操作时间
@@ -348,8 +385,8 @@ $.operate.post(ctx + 'system/product/list', {...data, type: '1'}, function (res) { softwareProjectProductInfoList = res.rows softwareProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) let softwareProjectProductInfoListAll = [[${projectInfo.softwareProjectProductInfoList}]] || [] softwareProjectProductInfoListAll.forEach((ele) => { @@ -359,8 +396,8 @@ $.operate.post(ctx + 'system/product/list', {...data, type: '2'}, function (res) { hardwareProjectProductInfoList = res.rows hardwareProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) let hardwareProjectProductInfoListAll = [[${projectInfo.hardwareProjectProductInfoList}]] || [] hardwareProjectProductInfoListAll.forEach((ele) => { @@ -371,8 +408,8 @@ $.operate.post(ctx + 'system/product/list', {...data, type: '11,22'}, function (res) { maintenanceProjectProductInfoList = res.rows maintenanceProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) let maintenanceProjectProductInfoListAll = [[${projectInfo.maintenanceProjectProductInfoList}]] || [] maintenanceProjectProductInfoListAll.forEach((ele) => { @@ -386,7 +423,7 @@ function submitHandler() { if ($.validate.form()) { $.operate.save(prefix + "/edit", $('#form-product-add').serialize()); - }else{ + } else { $.modal.alertWarning("请完善表单"); } } @@ -505,12 +542,12 @@ // 添加软件 function initData() { - let competitorList=[[${projectInfo.competitorList}]]||[] - competitorList.forEach((ele,index)=>{ - if(ele){ - $(`input[type="checkbox"][value="${ele}"]`).attr('checked',true) + let competitorList = [[${projectInfo.competitorList}]] || [] + competitorList.forEach((ele, index) => { + if (ele) { + $(`input[type="checkbox"][value="${ele}"]`).attr('checked', true) } - if((!$(`input[type="checkbox"][value="${ele}"]`).length)&&ele){ + if ((!$(`input[type="checkbox"][value="${ele}"]`).length) && ele) { $(`[name="competitorList[5]"]`).val(ele) } }) @@ -537,13 +574,13 @@ @@ -572,13 +609,13 @@ ${softwareProjectProductInfoList.map((ele) => { @@ -607,13 +644,13 @@ ${hardwareProjectProductInfoList.map((ele) => { @@ -669,7 +706,7 @@ ${maintenanceProjectProductInfoList.map((ele) => { form.on('select(productModel3)', function (data) { searchProduct(data.value, 'model', data.elem) }) - $('.layui-input').on('mouseout',function (){ + $('.layui-input').on('mouseout', function () { $(this).blur() }) }) diff --git a/ruoyi-admin/src/main/resources/templates/project/info/project.html b/ruoyi-admin/src/main/resources/templates/project/info/project.html index 8a4aff0a..326e522f 100644 --- a/ruoyi-admin/src/main/resources/templates/project/info/project.html +++ b/ruoyi-admin/src/main/resources/templates/project/info/project.html @@ -417,11 +417,12 @@ yes: function (index, layero) { let body = parent.layer.getChildFrame('body', index) if ($(body.find('#form-order-add').get(0)).validate().form()) { - $.operate.save( ctx + "project/order/add", body.find('#form-order-add').serialize(), function (res) { - if (res.code == web_status.SUCCESS) { - parent.layer.close(index) - } - }); + layero.find('iframe')[0].contentWindow.saveSelect() + // $.operate.save( ctx + "project/order/add", body.find('#form-order-add').serialize(), function (res) { + // if (res.code == web_status.SUCCESS) { + // parent.layer.close(index) + // } + // }); }else{ $.modal.alertWarning("请完善表单"); diff --git a/ruoyi-admin/src/main/resources/templates/project/info/selectAgent.html b/ruoyi-admin/src/main/resources/templates/project/info/selectAgent.html index 8a1308c3..df5bf587 100644 --- a/ruoyi-admin/src/main/resources/templates/project/info/selectAgent.html +++ b/ruoyi-admin/src/main/resources/templates/project/info/selectAgent.html @@ -61,6 +61,9 @@ full: false, index: 1000, width: 800, + end:function(){ + window.localStorage.removeItem('layerTable') + }, yes: function (index, layero) { let body = parent.layer.getChildFrame('body', index) if ($(body.find('#form-agent-add').get(0)).validate().form()) { diff --git a/ruoyi-admin/src/main/resources/templates/project/info/selectCustomer.html b/ruoyi-admin/src/main/resources/templates/project/info/selectCustomer.html index d3ff20ae..7a2e77ed 100644 --- a/ruoyi-admin/src/main/resources/templates/project/info/selectCustomer.html +++ b/ruoyi-admin/src/main/resources/templates/project/info/selectCustomer.html @@ -76,6 +76,9 @@ full: false, index: 1000, width: 800, + end:function(){ + window.localStorage.removeItem('layerTable') + }, yes: function (index, layero) { let body = parent.layer.getChildFrame('body', index) if ($(body.find('#form-info-add').get(0)).validate().form()) { diff --git a/ruoyi-admin/src/main/resources/templates/project/info/selectPartner.html b/ruoyi-admin/src/main/resources/templates/project/info/selectPartner.html index fe2156e1..fa351872 100644 --- a/ruoyi-admin/src/main/resources/templates/project/info/selectPartner.html +++ b/ruoyi-admin/src/main/resources/templates/project/info/selectPartner.html @@ -67,6 +67,9 @@ full: false, index: 1000, width: 800, + end:function(){ + window.localStorage.removeItem('layerTable') + }, yes: function (index, layero) { let body = parent.layer.getChildFrame('body', index) if ($(body.find('#form-partner-add').get(0)).validate().form()) { diff --git a/ruoyi-admin/src/main/resources/templates/project/order/add.html b/ruoyi-admin/src/main/resources/templates/project/order/add.html index 606e57ba..dfa6eb10 100644 --- a/ruoyi-admin/src/main/resources/templates/project/order/add.html +++ b/ruoyi-admin/src/main/resources/templates/project/order/add.html @@ -75,9 +75,24 @@ margin-left: 20px; display: inline-block; } - .productTable label[id*="iscount"]{ + + .productTable label[id*="iscount"] { top: -30px !important; } + + table tr:nth-child(odd) { + background: #f3f3f3; + } + + .saveBox { + padding: 30px 40px; + width: 300px; + } + + .saveRemark { + font-size: 10px; + color: #999999; + }
@@ -89,6 +104,8 @@ + + @@ -187,9 +204,9 @@ 汇智责任人 - - + Email @@ -225,7 +242,7 @@ 进货商联系人 - + Email @@ -385,31 +402,61 @@ $.operate.post(ctx + 'system/product/list', {...data, type: '1'}, function (res) { softwareProjectProductInfoList = res.rows softwareProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) }) $.operate.post(ctx + 'system/product/list', {...data, type: '2'}, function (res) { hardwareProjectProductInfoList = res.rows hardwareProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) }) $.operate.post(ctx + 'system/product/list', {...data, type: '11,22'}, function (res) { maintenanceProjectProductInfoList = res.rows maintenanceProjectProductInfoList.unshift({ - model:'', - productCode:'' + model: '', + productCode: '' }) }) } + function saveSelect() { + var options = { + title: "确认并提交订单", + maxmin: false, + full: false, + type: 1, + btn: ['确认', '取消'], + content: ` +
+
电子订单流程
+
进货商已经签订框架协议
+
纸质合同流程
+
进货商未签订框架协议
+
保存草稿  
+
+`, + yes: function (index, layero) { + $.operate.save(prefix + "/add", $('#form-order-add').serialize()); + }, + }; + layer.open(options) + } + + function changeSaveType(val) { + $('[name="processType"]').val(val) + } + function changeStatus(val) { + $('[name="orderStatus"]').val(val) + } + function submitHandler() { if ($.validate.form()) { - $.operate.save(prefix + "/add", $('#form-order-add').serialize()); - }else{ + saveSelect() + } else { $.modal.alertWarning("请完善表单"); } } @@ -501,7 +548,7 @@ function selectPeople() { var url = prefix + "/selectPeople"; var options = { - title: '选择代理商', + title: '选择责任人', width: "680", height: '600', url: url, @@ -540,7 +587,7 @@ $('[name="partnerCode"]').val(rows[0].partnerCode); $('[name="partnerName"]').val(rows[0].partnerName); $('[name="level"]').val(rows[0].level); - $('[name="partnerPeople"]').val(rows[0].contactPerson); + $('[name="partnerUserName"]').val(rows[0].contactPerson); $('[name="partnerPhone"]').val(rows[0].contactPhone); @@ -550,11 +597,11 @@ function doSubmitPeople(index, layero) { var rows = layero.find("iframe")[0].contentWindow.getSelections(); if (rows.length == 0) { - $.modal.alertWarning("请选择一个代理商"); + $.modal.alertWarning("请选择一个责任人"); return; } - // $('[name="duty"]').val(rows[0].userId); - $('[name="duty"]').val(rows[0].userName); + $('[name="duty"]').val(rows[0].userId); + $('[name="dutyName"]').val(rows[0].userName); $('[name="dutyPhone"]').val(rows[0].phonenumber); $('[name="dutyEmail"]').val(rows[0].email); @@ -571,13 +618,13 @@ ${length + 1} @@ -606,19 +653,19 @@ ${softwareProjectProductInfoList.map((ele) => { ${length + 1} - + @@ -643,14 +690,14 @@ ${hardwareProjectProductInfoList.map((ele) => { ${length + 1} -预览下载删除 +预览下载删除 `) $('#fileBox tbody').append(tr) $('.delfile').on('click', function () { @@ -918,16 +965,15 @@ ${ }) } - function downFile(filePath) { - $.operate.get(prefix + `/file/download?filePath=${filePath}`, function (res) { - window.location.href = res.data - }) + function downFile(filePath, fileName) { + window.location.href = prefix + `/file/download?filePath=` + encodeURI(filePath) + '&fileName=' + encodeURI(fileName); } - function preview(filePath) { - $.operate.get(prefix + `/file/download?filePath=${filePath}`, function (res) { - window.open(res.data) - }) + function preview(filePath, fileName) { + let iframe = window.open('', 'iframe') + let url = ctx+prefix + `/file/download?filePath=` + encodeURI(filePath) + '&fileName=' + encodeURI(fileName) + iframe.document.write(`