From 264f7e4845032d22590d5d01d2332cc2129c10fd Mon Sep 17 00:00:00 2001
From: lsh <lsh@163.com>
Date: 星期二, 16 四月 2024 16:42:28 +0800
Subject: [PATCH] #
---
src/main/webapp/views/weekly/weekly.html | 585 ++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 403 insertions(+), 182 deletions(-)
diff --git a/src/main/webapp/views/weekly/weekly.html b/src/main/webapp/views/weekly/weekly.html
index f9b3d19..aceb7c8 100644
--- a/src/main/webapp/views/weekly/weekly.html
+++ b/src/main/webapp/views/weekly/weekly.html
@@ -1,201 +1,422 @@
<!DOCTYPE html>
<html lang="en">
<head>
- <meta charset="utf-8">
- <title></title>
- <meta name="renderer" content="webkit">
- <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <meta charset="UTF-8">
+ <title>鍛ㄨ鍒�</title>
<link rel="stylesheet" href="../../static/layui/css/layui.css" media="all">
<link rel="stylesheet" href="../../static/css/admin.css?v=318" media="all">
<link rel="stylesheet" href="../../static/css/cool.css" media="all">
- <link rel="stylesheet" href="../../static/css/tree.css" media="all">
- <link rel="stylesheet" href="../../static/layui/lay/modules/formDesigner/coolForm.css"/>
- <style>
- .nav-box {
- position: absolute;
- top: 1px;
- left: 5px;
- }
-
- .nav-box-item {
- display: inline-block;
- vertical-align: middle;
- margin-right: 5px;
- }
-
- select#select-cstmr {
- color: rgba(0, 0, 0, 1) !important; /* 浣跨敤鏇村叿浣撶殑閫夋嫨鍣� */
- }
-
- .cstmrDetl{
- /*color: rgba(0, 0, 0, 0); !* 浣跨敤鏇村叿浣撶殑閫夋嫨鍣� *!*/
- }
-
- </style>
+ <link rel="stylesheet" href="../../static/css/element.css">
+ <script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
+ <script type="text/javascript" src="../../static/layui/layui.js"></script>
+ <script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
+ <script type="text/javascript" src="../../static/js/common.js"></script>
+ <script type="text/javascript" src="../../static/js/vue.min.js"></script>
+ <script type="text/javascript" src="../../static/js/element.js"></script>
</head>
<body>
-
-<div class="layui-fluid">
- <div class="layui-card">
- <div class="layui-card-body">
- <div id="search-box" class="layui-form toolbar"
- style="display: flex;justify-content: flex-end;position: relative">
- <div class="nav-box">
- <div class="nav-box-item">
- <i class="layui-icon" style="color: #1890ff;font-weight: bold"></i>
- </div>
- <div class="nav-box-item">
- <button id="organization" style="border: none;padding-right: 35px;"
- class="layui-btn layui-btn-primary icon-btn">
- 鏈煡
- </button>
- </div>
- </div>
- <div class="layui-form-item">
- <div class="layui-inline">
- <div class="layui-input-inline">
- <input class="layui-input" type="text" name="condition" placeholder="璇疯緭鍏�" autocomplete="off"
- style="border-color: #e1e1e1">
- </div>
- </div>
- <div class="layui-inline"> 
- <button class="layui-btn icon-btn layui-btn-sm" lay-filter="search" lay-submit>
- <i class="layui-icon"></i>鎼滅储
- </button>
- </div>
- </div>
+<div id="app">
+ <div>
+ <el-dialog title="鍛ㄨ鍒�" :visible.sync="dialogFormVisible" style="width: 1800px">
+ <el-form :model="form" style="width: 100%">
+ <el-form-item label="鏃ユ湡" :label-width="formLabelWidth">
+ <el-select v-model="form.name">
+ <el-option
+ v-for="item in addWeekPlanDataWeeklySign"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鍛ㄨ鍒�" :label-width="formLabelWidth">
+ <el-button type="primary" @click="addWeekPlan">娣诲姞鏃ヨ鍒�</el-button>
+ <el-table
+ :data="weeklyFormData"
+ border
+ style="width: 100%">
+ <el-table-column
+ fixed
+ :data="addWeekPlanData"
+ prop="weeklyDay"
+ label="鏄熸湡"
+ width="150">
+ </el-table-column>
+ <el-table-column
+ prop="cstmrId"
+ label="鐢叉柟鍗曚綅"
+ width="180">
+ <div class="item" slot-scope="scope">
+ <el-select v-model="scope.row.cstmrId" placeholder="鐢叉柟鍗曚綅">
+ <el-option
+ v-for="item in options"
+ :key="item.value"
+ :label="item.name"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ </el-table-column>
+ <el-table-column
+ prop="workContent"
+ label="宸ヤ綔鍐呭鍙婄洰鐨�"
+ width="180">
+ <div class="item" slot-scope="scope">
+ <el-input v-model="scope.row.workContent" placeholder="宸ヤ綔鍐呭鍙婄洰鐨�"></el-input>
+ </div>
+ </el-table-column>
+ <el-table-column
+ prop="weeklyMatter"
+ label="闇�鍗忓姪浜嬮」"
+ width="120">
+ <div class="item" slot-scope="scope">
+ <el-input v-model="scope.row.weeklyMatter" placeholder="闇�鍗忓姪浜嬮」"></el-input>
+ </div>
+ </el-table-column>
+ <el-table-column
+ prop="addr"
+ label="鍦板潃"
+ width="180">
+ <div class="item" slot-scope="scope">
+ <el-input v-model="scope.row.addr" placeholder="鍦板潃"></el-input>
+ </div>
+ </el-table-column>
+ <el-table-column
+ prop="memo"
+ label="澶囨敞"
+ width="120">
+ <div class="item" slot-scope="scope">
+ <el-input v-model="scope.row.memo" placeholder="澶囨敞"></el-input>
+ </div>
+ </el-table-column>
+ <el-table-column :show="false" property="weeklyDay$" label="鏃ユ湡" v-if="false"></el-table-column>
+ <el-table-column
+ fixed="right"
+ label="鎿嶄綔"
+ width="100">
+ <template slot-scope="scope">
+ <el-button @click="delWeeklyPlan(scope.row)" type="text" size="del-weekly-plan">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-form-item>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="dialogFormVisible = false, weeklyFormData=[]">鍙� 娑�</el-button>
+ <el-button type="primary" @click="dialogFormVisible = false, addWeekly(form,true)">纭� 瀹�</el-button>
</div>
- <table class="layui-hide" id="weekly" lay-filter="weekly"></table>
- </div>
+ </el-dialog>
+
+ <el-dialog
+ title="鏄熸湡"
+ :visible.sync="addWeekPlanVisible"
+ width="30%">
+ <div>
+ <el-select v-model="addWeekPlanValue" multiple placeholder="璇烽�夋嫨">
+ <el-option
+ v-for="item in addWeekPlanData"
+ :key="item.value"
+ :label="item.name"
+ :value="item.value">
+ </el-option>
+ </el-select>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="addWeekPlanVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="addWeekPlanConfirm">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+
+ <el-main>
+ <el-button type="primary" @click="dialogFormVisible = true" icon="el-icon-edit" size="mini" circle></el-button>
+ <el-table
+ :data="tableData"
+ style="width: 100%">
+ <el-table-column
+ prop="weeklyDayMonth"
+ label="鍛�">
+ </el-table-column>
+ <el-table-column
+ prop="status$"
+ label="鐘舵��">
+ </el-table-column>
+ <el-table-column
+ prop="weeklyDailyPlan"
+ label="鏃ヨ鍒�">
+ <template slot-scope="scope">
+ <el-popover
+ placement="bottom"
+ width="1200"
+ trigger="click">
+ <el-table :data="weeklyDailyPlanData">
+ <el-table-column property="weeklyDay$" label="鏃ユ湡"></el-table-column>
+ <el-table-column property="cstmrId$" label="鐢叉柟鍗曚綅"></el-table-column>
+ <el-table-column property="dailyTime$" label="鏃ユ湡"></el-table-column>
+ <el-table-column width="180" property="workContent" label="宸ヤ綔鍐呭鍙婄洰鐨�"></el-table-column>
+ <el-table-column property="weeklyMatter" label="闇�鍗忓姪浜嬮」"></el-table-column>
+ <el-table-column property="addr" label="鍦板潃"></el-table-column>
+ <el-table-column property="memo" label="澶囨敞"></el-table-column>
+ </el-table>
+ <el-button slot="reference" type="text" @click="showWeeklyDailyPlan(scope.row.id)">鏌ョ湅鏃ヨ鍒�</el-button>
+ </el-popover>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="weeklyDailyReality"
+ label="鏃ョ粨鏋�">
+ <template slot-scope="scope">
+ <el-popover
+ placement="bottom"
+ width="1200"
+ trigger="click">
+ <el-table :data="weeklyDailyRealityData">
+ <el-table-column property="weeklyDay$" label="鏃ユ湡"></el-table-column>
+ <el-table-column property="cstmrId$" label="鐢叉柟鍗曚綅"></el-table-column>
+ <el-table-column property="dailyTime$" label="鏃ユ湡"></el-table-column>
+ <el-table-column width="180" property="workContent" label="缁撴灉"></el-table-column>
+ <el-table-column property="weeklyMatter" label="闇�鍗忓姪浜嬮」"></el-table-column>
+ <el-table-column property="addr" label="鍦板潃"></el-table-column>
+ <el-table-column property="memo" label="澶囨敞"></el-table-column>
+ </el-table>
+ <el-button slot="reference" type="text" @click="showWeeklyDailyReality(scope.row.id)">鏌ョ湅鏃ョ粨鏋�</el-button>
+ </el-popover>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="memo"
+ label="澶囨敞锛�50瀛楋級">
+ </el-table-column>
+ <!-- <el-table-column-->
+ <!-- prop="settle$"-->
+ <!-- label="杩涘害">-->
+ <!-- </el-table-column>-->
+ <el-table-column
+ prop="oper"
+ fixed="right"
+ label="鎿嶄綔"
+ width="100">
+ <template slot-scope="scope">
+ <el-button @click="delWeekly(scope.row)" type="text" size="del-weekly">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-main>
</div>
</div>
+<script>
+ var app = new Vue({
+ el: '#app',
+ data: {
+ tableData: [],
+ weeklyDailyPlanData: [],
+ weeklyDailyRealityData: [],
+ dialogFormVisible: false,
+ form: {
+ name: '',
+ region: '',
+ date1: '',
+ date2: '',
+ delivery: false,
+ type: [],
+ resource: '',
+ desc: ''
+ },
+ formLabelWidth: '120px',
+ addWeekPlanVisible: false,
+ addWeekPlanDataWeeklySign: [
+ {
+ value: '1',
+ label: '涓婂懆'
+ },
+ {
+ value: '2',
+ label: '鏈懆'
+ },
+ {
+ value: '3',
+ label: '涓嬪懆'
+ }
+ ],
+ addWeekPlanData: [],
+ addWeekPlanValue: [],
+ weeklyFormData: [],
+ options: [],
+ // 闇�瑕佺紪杈戠殑灞炴��
+ editProp: ['cstmrId','workContent','weeklyMatter','memo']
+ },
+ created(){
+ this.init();
+ this.getOptionsData();
+ this.getAddWeekPlanData();
+ },
+ watch: {
-<!-- 琛ㄦ牸鎿嶄綔鍒� -->
-<script type="text/html" id="tbLookPlan">
- <span class="layui-text">
- <a href="javascript:;" lay-event="lookPlan">
- <i class="layui-icon" style="font-size: 12px;"></i> 鏌ョ湅鏃ヨ鍒�
- </a>
- </span>
-</script>
+ },
+ computed:{
+ // cstmrLabel () {
+ // return (val) => {
+ // let item = this.options.find(o => o.value === val);
+ // return item ? item.label : 'Item not found';
+ // }
+ // }
+ },
+ methods: {
+ init(){
+ let that = this
+ $.ajax({
+ url: baseUrl + '/weekly/list/auth',
+ headers: {'token': localStorage.getItem('token')},
+ method: "get",
+ success: (res) => {
+ that.tableData = res.data.records;
+ console.log(that.tableData)
+ }
+ });
+ },
+ showWeeklyDailyPlan(id) {
+ let that = this;
+ // console.log(id)
+ $.ajax({
+ url: baseUrl + '/weeklyDailyPlan/list/auth',
+ headers: {'token': localStorage.getItem('token')},
+ method: "get",
+ data: {
+ weekly_id: id
+ },
+ success: (res) => {
+ that.weeklyDailyPlanData = res.data.records;
+ // console.log(that.weeklyDailyPlanData)
+ }
+ });
+ },
+ showWeeklyDailyReality(id) {
+ let that = this;
+ // console.log(id)
+ $.ajax({
+ url: baseUrl + '/weeklyDailyReality/list/auth',
+ headers: {'token': localStorage.getItem('token')},
+ method: "get",
+ data: {
+ weekly_id: id
+ },
+ success: (res) => {
+ that.weeklyDailyRealityData = res.data.records;
+ // console.log(that.weeklyDailyRealityData)
+ }
+ });
+ },
+ addWeekPlan() {
+ this.addWeekPlanVisible = true;
+ },
+ addWeekly(res,isExpAdd){
+ let that = this;
+ let weeklyFormData = this.weeklyFormData;
-<!-- 琛ㄦ牸鎿嶄綔鍒� -->
-<script type="text/html" id="tbLookReality">
- <span class="layui-text">
- <a href="javascript:;" lay-event="lookReality">
- <i class="layui-icon" style="font-size: 12px;"></i> 鏌ョ湅鏃ョ粨鏋�
- </a>
- </span>
-</script>
+ $.ajax({
+ url: baseUrl+"/weekly/from/" + (isExpAdd?"add":"modify") + "/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: JSON.stringify({
+ weeklyType: Number(res.name),
+ weeklyId: null,
+ // type: Number(data.field.type),
+ type: Number(1),
+ weeklyDailyPlanList: weeklyFormData
+ }),
+ contentType:'application/json;charset=UTF-8',
+ method: 'POST',
+ success: (res) => {
+ weeklyFormData=[]
+ },
+ error: function (jqXHR, textStatus, errorThrown) {
+ // 鍦ㄨ繖閲屽仛閿欒澶勭悊:
+ console.log('Error occurred: ', textStatus, errorThrown);
+ }
+ })
+ },
+ addWeekPlanConfirm() {
+ let list = this.weeklyFormData
+ let value = this.addWeekPlanValue
+ if (value.length > 0) {
+ value.forEach((item,idx) => {
+ // console.log(item)
+ list.push({
+ weeklyDay: item
+ })
+ })
+ }
-<script type="text/html" id="toolbar">
- <div class="layui-btn-container">
- <button class="layui-btn layui-btn-sm" lay-event="addBlank">鍒涘缓鍛ㄨ鍒�</button>
-<!-- <button class="layui-btn layui-btn-sm layui-btn-danger" lay-event="deleteData">鍒犻櫎</button>-->
- </div>
-</script>
+ this.weeklyFormData = list;
+ this.addWeekPlanVisible = false;
+ this.addWeekPlanValue = [];
+ },
+ delWeeklyPlan(row) {
+ // 鎵惧埌瑕佸垹闄ょ殑琛屽湪鏁版嵁鍒楄〃涓殑绱㈠紩
+ const index = this.weeklyFormData.findIndex(item => item === row);
+ if (index !== -1) {
+ // 閫氳繃splice鏂规硶鍒犻櫎璇ヨ
+ this.weeklyFormData.splice(index, 1);
+ }
+ },
+ delWeekly(row) {
+ let that = this;
+ // 鎵惧埌瑕佸垹闄ょ殑琛屽湪鏁版嵁鍒楄〃涓殑绱㈠紩
+ const index = this.tableData.findIndex(item => item === row);
+ $.ajax({
+ url: baseUrl+"/weekly/delete/auth",
+ headers: {'token': localStorage.getItem('token')},
+ data: {ids: row.id},
+ method: 'POST',
+ traditional:true,
+ success: function (res) {
+ console.log("res")
+ console.log(res)
+ if (res.code === 200){
+ if (index !== -1) {
+ // 閫氳繃splice鏂规硶鍒犻櫎璇ヨ
+ that.tableData.splice(index, 1);
+ }
+ }
+ }
+ })
-<form id="uploadFile" enctype="multipart/form-data" style="display: none;">
- <input type="file" name="file" id="uploadQuote">
- <input type="button" onclick="upload()" value="涓婁紶"/>
-</form>
+ },
+ getOptionsData() {
+ let that = this;
+ $.ajax({
+ url: baseUrl+"/cstmr/all/get/kv",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ limit: 9999
+ },
+ method: 'POST',
+ async: false, // 璁剧疆涓哄悓姝ユ墽琛�
+ success: function (res) {
+ // let options1 = that.options;
+ that.options = res.data
+ }
+ })
+ },
+ getAddWeekPlanData() {
+ let that = this;
+ $.ajax({
+ url: baseUrl+"/weeklyCostTypes/all/get/kv",
+ headers: {'token': localStorage.getItem('token')},
+ data: {
+ condition:null
+ },
+ method: 'POST',
+ success: function (res) {
+ // console.log("res")
+ // console.log(res)
+ that.addWeekPlanData = res.data
+ // console.log(that.addWeekPlanData)
-<script type="text/html" id="operate">
- {{# if (d.settle == 1 && d.nowUserId == d.director) { }}
- <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">鎻愪氦</a>
- {{# } }}
- {{# if (d.settle == 2 && d.nowUserId == d.director) { }}
- <a class="layui-btn layui-btn-xs btn-edit" lay-event="approval">瀹℃壒</a>
- {{# } }}
- {{# if (d.settle == 3 && d.nowUserId == d.director) { }}
- <a class="layui-btn layui-btn-xs btn-edit" lay-event="approvalEnd">鍥為��瀹℃壒</a>
- {{# } }}
-
- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="edit">璁″垝</a>
- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="editReality">缁撴灉</a>
- <a class="layui-btn layui-btn-danger layui-btn-xs btn-edit" lay-event="del">鍒犻櫎</a>
+ }
+ });
+ }
+ }
+ })
</script>
-
-<script type="text/javascript" src="../../static/js/jquery/jquery-3.3.1.min.js"></script>
-<script type="text/javascript" src="../../static/layui/layui.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
-<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/cool.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/luckysheet_js/luckyexcel.umd.js"></script>
-<script type="text/javascript" src="../../static/js/luckysheet_js/pako.es5.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/luckysheet_js/base64.min.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/js/weekly/weekly.js" charset="utf-8"></script>
-<script type="text/javascript" src="../../static/layui/lay/modules/cascader/citys-data.js" charset="utf-8"></script>
-
-<script type="text/html" id="editDialog">
- <form id="editForm" lay-filter="editForm" class="layui-form model-form">
- <input name="id" type="hidden"/>
-
- <div class="layui-form-item" style="display: block" id="weeklyDisplay">
- <label class="layui-form-label layui-form-required">鏃ユ湡: </label>
- <div class="layui-input-inline">
- <select class="layui-input" name="weeklyType" lay-vertype="tips">
- <option style="display: none"></option>
- <option value="1">涓婂懆</option>
- <option value="2">鏈懆</option>
- <option value="3">涓嬪懆</option>
- </select>
- </div>
- </div>
-
- <div class="layui-form-item" style="position: relative;">
- <label class="layui-form-label">鍛ㄨ鍒掞細</label>
- <div class="layui-input-block">
- <table id="formSSXMTable" lay-filter="formSSXMTable"></table>
- </div>
- <button class="layui-btn layui-btn-sm icon-btn" id="matAddBtnComment"
- style="position: absolute; left: 20px;top: 60px;padding: 0 5px;" type="button">
- <i class="layui-icon"></i>娣诲姞鏃ヨ鍒�
- </button>
- </div>
- <div class="layui-form-item text-right">
- <button id="cancelBtn" class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
- <button class="layui-btn" lay-filter="weeklyEditSubmit" lay-submit>淇濆瓨</button>
- </div>
- </form>
-</script>
-
-<!-- 琛ㄦ牸鎿嶄綔鍒� -->
-<script type="text/html" id="formSSXMTableBar">
- <!-- <a class="layui-btn layui-btn-primary layui-btn-xs" lay-event="edit">淇敼</a>-->
- <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">鍒犻櫎</a>
-</script>
-<!-- 琛ㄥ崟寮圭獥 -->
-<script type="text/html" id="matEditDialog">
- <form id="matEditForm" lay-filter="matEditForm" class="layui-form model-form">
- <input name="experimentId" type="hidden"/>
-
- <div class="layui-form-item" style="float: left">
- <label class="layui-form-label">璐圭敤绫诲瀷 - 澶氶��</label>
- <div class="layui-input-block">
- <div id="weeklyCostTypes" name="weeklyCostTypes">
- </div>
- </div>
- </div>
-
- <div class="layui-form-item text-right" style="display: inline-block; margin-left: 35px">
- <button class="layui-btn layui-btn-primary" type="button" ew-event="closeDialog">鍙栨秷</button>
- <button class="layui-btn" lay-filter="matEditSubmit" lay-submit>淇濆瓨</button>
- </div>
-
- </form>
-</script>
-
-<script type="text/template" id="cstmrId">
- <select id="select-cstmr" style="width: 100%;color:rgba(0, 0, 0, 1) !important" class="layui-border select-cstmr" lay-ignore >
- <option value="" class="cstmrDetl">閫夋嫨鐢叉柟鍗曚綅</option>
-<!-- style="width: 100%;color: rgba(0, 0, 0, 1)"-->
- </select>
-</script>
-
</body>
-</html>
-
-
+</html>
\ No newline at end of file
--
Gitblit v1.9.1