test01 3 år sedan
förälder
incheckning
f1097d302c

+ 1 - 1
js/admin/legalAffairs.jsx

@@ -8,7 +8,7 @@ import Content from '../component/manageCenter/legalAffairs/content.jsx';
 
 ReactDOM.render(
     <div className="wrap clearfix">
-        <TopTab active={'order'}/>
+        <TopTab active={'legalAffairs'}/>
         <Content />
         <Footer />
     </div>,

+ 27 - 17
js/component/common/imgList/index.js

@@ -67,24 +67,34 @@ class ImgList extends Component{
     }
 
     beforeUpload(file) {
-        const isJPG = file.type.split('/');
-        if (isJPG[0] !== 'image') {
-            message.error('只能上传图片文件!');
-            return false;
-        }
         const isLt2M = file.size / 1024 / 1024 < 10;
         if (!isLt2M) {
-            message.error('图片大小不能超过 10MB!');
+            message.error('文件大小不能超过 10MB!');
             return isLt2M;
         }
-        if(isJPG && isLt2M){
-            //用于计算当次选择的图片数量
-            this.state.newUploadArr.push(file)
-            this.setState({
-                newUploadArr:this.state.newUploadArr
-            })
+        if(this.props.accept){
+            if(isLt2M){
+                this.state.newUploadArr.push(file)
+                this.setState({
+                    newUploadArr:this.state.newUploadArr
+                })
+            }
+            return isLt2M;
+        }else{
+            const isJPG = file.type.split('/');
+            if (isJPG[0] !== 'image') {
+                message.error('只能上传图片文件!');
+                return false;
+            }
+            if(isJPG && isLt2M){
+                //用于计算当次选择的图片数量
+                this.state.newUploadArr.push(file)
+                this.setState({
+                    newUploadArr:this.state.newUploadArr
+                })
+            }
+            return isJPG && isLt2M;
         }
-        return isJPG && isLt2M;
     }
 
     componentWillUnmount() {
@@ -99,12 +109,12 @@ class ImgList extends Component{
         return (
             <div className='ImgListComponent'>
                 <div className='ImgList'>
-                    <Spin spinning={Object.keys(this.props.uploadConfig).length !== 0 ? false : (fileList.length === 0 ? false : this.state.loading)} tip="图片加载中...">
+                    <Spin spinning={Object.keys(this.props.uploadConfig).length !== 0 ? false : (fileList.length === 0 ? false : this.state.loading)} tip="文件加载中...">
                         <Upload
                             {...this.props.uploadConfig}
-                            accept="image/*"
+                            accept={this.props.accept || "image/*"}
                             className={Object.keys(this.props.uploadConfig).length !== 0 ? "" : "demandDetailShow-upload" }
-                            listType="picture-card"
+                            listType={this.props.accept ? this.props.uploadConfig.listType : "picture-card"}
                             fileList={
                                 Object.keys(this.props.uploadConfig).length !== 0 ?
                                     (
@@ -220,7 +230,7 @@ class ImgList extends Component{
                         status="active"
                         percent={parseFloat(this.state.percent * 100).toFixed(0)}
                     />
-                    <div className='promptText'>图片上传中...</div>
+                    <div className='promptText'>文件上传中...</div>
                 </div> : <div/>}
             </div>
         )

+ 19 - 5
js/component/common/tabelContent/index.jsx

@@ -38,6 +38,7 @@ class TabelContent extends Component{
         this.resetAll= this.resetAll.bind(this);
         this.exportExec= this.exportExec.bind(this);
         this.selectSuperId= this.selectSuperId.bind(this);
+        this.onRefresh= this.onRefresh.bind(this);
         this.autoCompleteSearchRef = {}
     }
 
@@ -54,7 +55,8 @@ class TabelContent extends Component{
             searchInfor = Object.assign(searchInfor,obj);
         }
         if(Object.keys(this.state.searchValues).length > 0){
-            searchInfor = Object.assign(searchInfor,this.state.searchValues);
+            let obj1 = JSON.parse(JSON.stringify(this.state.searchValues))
+            searchInfor = Object.assign(searchInfor,obj1);
         }
         $.ajax({
             method: "get",
@@ -110,7 +112,9 @@ class TabelContent extends Component{
         })
 
         let data ={};
-        data = Object.assign(data,this.state.searchValues);
+        let obj1 = JSON.parse(JSON.stringify(this.state.searchValues))
+        data = Object.assign(data,obj1);
+
         if(this.props.exportExecProcessing){
             data = this.props.exportExecProcessing(data);
         }
@@ -197,19 +201,29 @@ class TabelContent extends Component{
         for(let i of Object.keys(this.autoCompleteSearchRef)){
             this.autoCompleteSearchRef[i].onReset();
         }
+        let obj = this.props.query || {};
         this.setState({
-            searchValues: this.props.query || {}
+            searchValues: JSON.parse(JSON.stringify(obj))
         },()=>{
             this.loadData();
         })
     }
 
+    //刷新页面
+    onRefresh(lv){
+        if(lv){
+            this.loadData();
+        }else{
+            this.loadData(this.state.pageNo);
+        }
+    }
+
     render() {
         const { searchValues } = this.state;
         return (
             <div>
                 <Tabs defaultActiveKey="1" className="test">
-                    <TabPane tab="搜索" key="1">
+                    {this.props.searchList && <TabPane tab="搜索" key="1">
                         <div className="user-search" style={{paddingTop:'10px'}}>
                             <Form layout="inline">
                                 {
@@ -330,7 +344,7 @@ class TabelContent extends Component{
                                 <Button onClick={this.resetAll} style={{marginRight:'10px',marginBottom:'10px'}}>重置</Button>
                             </Form>
                         </div>
-                    </TabPane>
+                    </TabPane>}
                     <TabPane tab="更改表格显示数据" key="2">
                         <div style={{ marginLeft: 10 }}>
                             <ChooseList

+ 1 - 0
js/component/dataDic.js

@@ -2306,6 +2306,7 @@ module.exports = {
   actives: [
     { value: "客户管理", key: "myClient" },
     { value: "客服管理", key: "customerService" },
+    { value: "法务系统", key: "legalAffairs" },
     { value: "科技服务项目", key: "services" },
     { value: "科技成果管理", key: "achievement" },
     { value: "科技需求管理", key: "demand" },

+ 2 - 2
js/component/manageCenter/customer/operationalData/interviewStatistics/detailedList.jsx

@@ -559,7 +559,7 @@ class DetailedList extends Component{
                         <div className="user-content">
                             <TabelContent
                                 scroll={{ x: 1200 }}
-                                searchConfig={this.state.searchConfig}
+                                searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                                 searchList={this.state.searchList1}
                                 columns={this.state.columns1}
                                 tabelApi={'/api/admin/release/publicReleaseDtails'}
@@ -613,7 +613,7 @@ class DetailedList extends Component{
                         <div className="user-content">
                             <TabelContent
                                 scroll={{ x: 1200 }}
-                                searchConfig={this.state.searchConfig}
+                                searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                                 searchList={this.state.searchList2}
                                 columns={this.state.columns2}
                                 tabelApi={'/api/admin/newOrder/orderNewList'}

+ 1 - 1
js/component/manageCenter/customer/operationalData/interviewStatistics/index.jsx

@@ -268,7 +268,7 @@ class InterviewStatistics extends Component{
                     }}
                 />
                 {this.state.visible ? <DetailedList
-                    searchConfig={this.state.searchConfig}
+                    searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                     visible={this.state.visible}
                     recordInfor={this.state.recordInfor}
                     onCancel={()=>{

+ 1 - 1
js/component/manageCenter/customer/operationalData/receivablesStatistics/detailedList.jsx

@@ -309,7 +309,7 @@ class DetailedList extends Component{
                                 searchList={this.state.searchList1}
                                 columns={this.state.columns1}
                                 tabelApi={'/api/admin/newOrder/dunOrderNewList'}
-                                searchConfig={this.state.searchConfig}
+                                searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                                 query={{
                                     specially:1,
                                     newStatus:1,

+ 1 - 1
js/component/manageCenter/customer/operationalData/receivablesStatistics/index.jsx

@@ -109,7 +109,7 @@ class ReceivablesStatistics extends Component{
                     }}
                 />
                 {this.state.visible ? <DetailedList
-                    searchConfig={this.state.searchConfig}
+                    searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                     visible={this.state.visible}
                     recordInfor={this.state.recordInfor}
                     onCancel={()=>{

+ 1 - 1
js/component/manageCenter/customer/operationalData/reexamine/detailedList.jsx

@@ -373,7 +373,7 @@ class DetailedList extends Component{
                         <div className="user-content">
                             <TabelContent
                                 scroll={{ x: 1200 }}
-                                searchConfig={this.state.searchConfig}
+                                searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                                 searchList={this.state.searchList1}
                                 columns={this.state.columns1}
                                 tabelApi={'/api/admin/newOrder/orderNewList'}

+ 1 - 1
js/component/manageCenter/customer/operationalData/reexamine/index.jsx

@@ -132,7 +132,7 @@ class ReceivablesStatistics extends Component{
                     }}
                 />
                 {this.state.visible ? <DetailedList
-                    searchConfig={this.state.searchConfig}
+                    searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                     visible={this.state.visible}
                     recordInfor={this.state.recordInfor}
                     onCancel={()=>{

+ 2 - 1
js/component/manageCenter/customer/operationalData/signatureStatistics/detailedList.jsx

@@ -352,6 +352,7 @@ class DetailedList extends Component{
                             })
                         }}
                         onCancel={()=>{
+                            console.log(this.state.searchConfig,'this.state.searchConfig')
                             this.setState({
                                 visible1:false
                             })
@@ -364,7 +365,7 @@ class DetailedList extends Component{
                             <TabelContent
                                 searchList={this.state.searchList1}
                                 columns={this.state.columns1}
-                                searchConfig={this.state.searchConfig}
+                                searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                                 tabelApi={'/api/admin/newOrder/orderNewList'}
                                 query={{
                                     specially:7,

+ 1 - 1
js/component/manageCenter/customer/operationalData/signatureStatistics/index.jsx

@@ -175,7 +175,7 @@ class SignatureStatistics extends Component{
                     }}
                 />
                 {this.state.visible ? <DetailedList
-                    searchConfig={this.state.searchConfig}
+                    searchConfig={JSON.parse(JSON.stringify(this.state.searchConfig))}
                     visible={this.state.visible}
                     recordInfor={this.state.recordInfor}
                     onCancel={()=>{

+ 243 - 0
js/component/manageCenter/order/pressMoney/dunningRecord.jsx

@@ -0,0 +1,243 @@
+import React,{Component} from "react";
+import TabelContent from "../../../common/tabelContent";
+import {Button, Modal, Tag, Form, DatePicker, Input, message} from "antd";
+import ImgList from "../../../common/imgList";
+import $ from "jquery/src/ajax";
+
+const { TextArea } = Input;
+
+const formItemLayout = {
+    labelCol: {
+        xs: { span: 24 },
+        sm: { span: 6 },
+    },
+    wrapperCol: {
+        xs: { span: 24 },
+        sm: { span: 14 },
+    },
+}
+
+class DunningRecord extends Component{
+    constructor(props) {
+        super(props);
+        this.state={
+            columns:[
+                {
+                    title: "序号",
+                    dataIndex: "key",
+                    key: "key",
+                    width: 45,
+                },
+                {
+                    title: "操作人名称",
+                    dataIndex: "contractNo",
+                    key: "contractNo",
+                    width: 140,
+                },
+                {
+                    title: "客户名称",
+                    dataIndex: "contractNo",
+                    key: "contractNo",
+                    width: 140,
+                },
+                {
+                    title: "催款时间",
+                    dataIndex: "contractNo",
+                    key: "contractNo",
+                    width: 140,
+                },
+                {
+                    title: "情况",
+                    dataIndex: "contractNo",
+                    key: "contractNo",
+                    width: 140,
+                },
+                {
+                    title: "操作时间",
+                    dataIndex: "contractNo",
+                    key: "contractNo",
+                    width: 140,
+                },
+                {
+                    title: "操作",
+                    dataIndex: "id",
+                    key: "id",
+                    width: 250,
+                    render: (text, record) => {
+                        return(
+                            <Button
+                                type="primary"
+                                onClick={e => {
+                                    e.stopPropagation();
+
+                                }}
+                            >
+                                下载凭证
+                            </Button>
+                        )
+                    }
+                }
+            ],
+            visible:false
+        }
+        this.addDunOrder = this.addDunOrder.bind(this);
+    }
+
+    addDunOrder(){
+        if (this.state.fileList){
+            message.warning('请上传凭证');
+            return;
+        }
+        if (this.state.date){
+            message.warning('请');
+            return;
+        }
+        this.setState({
+            addDunOrderLoading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url:
+                globalConfig.context + "/api/admin/lagalAffairs/addDunOrder",
+            data: {
+                orderNo:this.props.dataInfor.orderNo
+            },
+            success: function (data) {
+                if(data.error.length){
+                    message.warning(data.error[0].message);
+                }else{
+                    message.success('新增成功');
+                    this.tabelContentRef && this.tabelContentRef.onRefresh();
+                }
+            }.bind(this)
+        }).done(
+            function () {
+                this.setState({
+                    addDunOrderLoading: false
+                });
+            }.bind(this)
+        );
+    }
+
+    onCancel(){
+        this.setState({
+            visible:false
+        })
+    }
+
+    render() {
+        return (
+            <Modal
+                maskClosable={false}
+                visible={this.props.visible}
+                onOk={this.props.onCancel}
+                onCancel={this.props.onCancel}
+                width='900px'
+                title={
+                    <span style={{
+                        display: 'flex',
+                        alignItems: 'center',
+                        justifyContent:'space-between',
+                        paddingRight:'10px'
+                    }}>
+                        <span>
+                            <span style={{marginRight:'5px'}}>催款记录列表</span>
+                            <Tag color="pink">初始客户名称:{this.props.dataInfor.buyerName}</Tag>
+                        </span>
+                        <Button
+                            type="primary"
+                            onClick={e => {
+                                e.stopPropagation();
+                                this.setState({
+                                    visible:true
+                                })
+                            }}
+                        >
+                                添加催款记录
+                            </Button>
+                    </span>
+                }
+                footer=''
+                className="admin-desc-content">
+                <TabelContent
+                    ref={ref => this.tabelContentRef = ref}
+                    columns={this.state.columns}
+                    tabelApi={'/api/admin/lagalAffairs/dunOrderList'}
+                    query={{orderNo:this.props.dataInfor.orderNo}}
+                    dataProcessing={(data)=>{
+                        let theArr = [];
+                        for (let i = 0; i < data.data.length; i++) {
+                            let thisdata = data.data[i];
+                            thisdata.key=i + 1;
+                            theArr.push(thisdata);
+                        }
+                        return theArr;
+                    }}
+                />
+                <Modal
+                    maskClosable={false}
+                    visible={this.state.visible}
+                    onOk={this.onCancel}
+                    onCancel={this.onCancel}
+                    width='900px'
+                    title='新增催款记录'
+                    footer=''
+                    className="admin-desc-content">
+                    <Form onSubmit={this.handleSubmit}>
+                        <Form.Item
+                            {...formItemLayout}
+                            label="催款时间"
+                            hasFeedback
+                        >
+                            <DatePicker onChange={(date, dateString)=>{
+                                this.setState({
+                                    date:dateString
+                                })
+                            }} />
+                        </Form.Item>
+                        <Form.Item
+                            {...formItemLayout}
+                            label="催款情况"
+                            hasFeedback
+                        >
+                            <TextArea rows={4} onChange={(v)=>{
+                                this.setState({
+                                    remarks:v
+                                })
+                            }}/>
+                        </Form.Item>
+                        <Form.Item
+                            {...formItemLayout}
+                            label="催款附件"
+                            hasFeedback
+                        >
+                            <ImgList
+                                accept='application/pdf,image/png,application/msword'
+                                domId='nowProjectStatus'
+                                uploadConfig={{
+                                    action:globalConfig.context + "/api/admin/newOrder/uploadDunLogFile",
+                                    data:{ 'sign': "dun_log_attachment"},
+                                    multiple:true,
+                                    listType:"text",
+                                }}
+                                onChange={(info)=>{
+                                    let fileList = info.fileList;
+                                    this.setState({ fileList });
+                                }}
+                                fileList={this.state.fileList}
+                            />
+                        </Form.Item>
+                        <div style={{display:'flex'}}>
+                            <Button type="primary" onClick={this.addDunOrder}>提交</Button>
+                            <Button type="dashed" style={{marginLeft:'15px'}} onClick={this.onCancel}>取消</Button>
+                        </div>
+                    </Form>
+                </Modal>
+            </Modal>
+        )
+    }
+}
+
+export default DunningRecord;

+ 153 - 36
js/component/manageCenter/order/pressMoney/index.jsx

@@ -1,6 +1,10 @@
 import React,{Component} from "react";
 import TabelContent from "../../../common/tabelContent";
-import {Button} from "antd";
+import {Button, message,Modal} from "antd";
+import $ from "jquery/src/ajax";
+import DunningRecord from "./dunningRecord";
+
+const confirm = Modal.confirm;
 
 class PressMoney extends Component{
     constructor(props) {
@@ -11,80 +15,97 @@ class PressMoney extends Component{
                     title: "序号",
                     dataIndex: "key",
                     key: "key",
-                    width: 120,
+                    width: 45,
                 },
                 {
                     title: "合同编号",
-                    dataIndex: "key",
-                    key: "key",
-                    width: 200,
+                    dataIndex: "contractNo",
+                    key: "contractNo",
+                    width: 140,
                 },
                 {
                     title: "客户名称",
-                    dataIndex: "key",
-                    key: "key",
-                    width: 200,
+                    dataIndex: "buyerName",
+                    key: "buyerName",
+                    width: 150,
                 },
                 {
                     title: "订单负责人",
-                    dataIndex: "key",
-                    key: "key",
+                    dataIndex: "salesmanName",
+                    key: "salesmanName",
                     width: 120,
                 },
                 {
                     title: "订单部门",
-                    dataIndex: "key",
-                    key: "key",
+                    dataIndex: "depName",
+                    key: "depName",
                     width: 120,
                 },
                 {
                     title: "签单金额(万元)",
-                    dataIndex: "key",
-                    key: "key",
-                    width: 120,
+                    dataIndex: "totalAmount",
+                    key: "totalAmount",
+                    width: 80,
                 },
                 {
                     title: "已收款(万元)",
-                    dataIndex: "key",
-                    key: "key",
-                    width: 120,
+                    dataIndex: "settlementAmount",
+                    key: "settlementAmount",
+                    width: 80,
                 },
                 {
                     title: "应收款(万元)",
-                    dataIndex: "key",
-                    key: "key",
-                    width: 120,
+                    dataIndex: "orderReceivables",
+                    key: "orderReceivables",
+                    width: 80,
                 },
                 {
                     title: "欠款(万元)",
-                    dataIndex: "key",
-                    key: "key",
-                    width: 120,
+                    dataIndex: "orderArrears",
+                    key: "orderArrears",
+                    width: 80,
                 },
                 {
                     title: "催款启动日期",
-                    dataIndex: "key",
-                    key: "key",
-                    width: 120,
+                    dataIndex: "dunStartTimes",
+                    key: "dunStartTimes",
+                    width: 125,
                 },
                 {
                     title: "自动移交法务(天)",
-                    dataIndex: "key",
-                    key: "key",
-                    width: 120,
+                    dataIndex: "daysRemaining",
+                    key: "daysRemaining",
+                    width: 80,
+                    render: (text) => {
+                        return (
+                            text === 0 ? '已移交法务' : text+'天'
+                        )
+                    }
                 },
                 {
                     title: "操作",
                     dataIndex: "id",
                     key: "id",
+                    width: 250,
                     render: (text, record, index) => {
+                        let _this = this;
                         return (
-                            <div>
+                            <div style={{display:'flex',alignItems:'center'}}>
                                 <Button
+                                    disabled={record.daysRemaining === 0}
                                     type="primary"
                                     style={{marginRight: "10px",}}
                                     onClick={e => {
                                         e.stopPropagation();
+                                        confirm({
+                                            title: '提醒',
+                                            content: '你确定移交法务吗?',
+                                            okText:'转交',
+                                            cancelText:'取消',
+                                            onOk() {
+                                                _this.transfer(record.orderNo);
+                                            }
+                                        });
                                     }}
                                 >
                                     移交法务
@@ -94,6 +115,10 @@ class PressMoney extends Component{
                                     style={{marginRight: "10px",}}
                                     onClick={e => {
                                         e.stopPropagation();
+                                        this.setState({
+                                            visible:true,
+                                            dataInfor:record
+                                        })
                                     }}
                                 >
                                     催款记录
@@ -112,8 +137,84 @@ class PressMoney extends Component{
                     }
                 }
             ],
-            searchList:[]
+            searchList:[
+                {
+                    type:'text',
+                    dataKey:'userName',
+                    placeholder:'请输入客户名称'
+                },
+                {
+                    type:'text',
+                    dataKey:'contractNo',
+                    placeholder:'请输入合同编号'
+                },
+                {
+                    type:'autoComplete',
+                    dataKey:'aid',
+                    api:'/api/admin/customer/listAdminByName',
+                    search:'adminName',
+                    placeholder:'请输入营销人名称'
+                },
+                {
+                    type:'departmentSelect',
+                    dataKey:'depId',
+                    placeholder:'请选择订单部门'
+                },
+                {
+                    type:'select',
+                    dataKey:'legalAffairs',
+                    placeholder:'请选择是否移交法务',
+                    selectList:[
+                        {
+                            value:'1',
+                            label:'已移交法务'
+                        },
+                        {
+                            value:'0',
+                            label:'未移交法务'
+                        },
+                    ]
+                },
+                {
+                    type:'times',
+                    title:'催款启动',
+                    dataKey:['startTime','endTime'],
+                },
+            ],
+            visible: false
         }
+        this.tabelContentRef=null;
+        this.transfer = this.transfer.bind(this);
+    }
+
+    transfer(orderNo){
+        this.setState({
+            transferLoading: true
+        });
+        $.ajax({
+            method: "post",
+            dataType: "json",
+            crossDomain: false,
+            url:
+                globalConfig.context + "/api/admin/lagalAffairs/transfer",
+            data: {
+                orderNo
+            },
+            success: function (data) {
+                if(data.error.length){
+                    message.warning(data.error[0].message);
+                }else{
+                    message.success('移交成功');
+                    this.tabelContentRef && this.tabelContentRef.onRefresh();
+                }
+            }.bind(this)
+        }).done(
+            function () {
+                this.setState({
+                    transferLoading: false
+                });
+            }.bind(this)
+        );
     }
 
     render() {
@@ -125,21 +226,37 @@ class PressMoney extends Component{
                     </span>
                 </div>
                 <TabelContent
+                    ref={ref => this.tabelContentRef = ref}
                     scroll={{ x: 0, y: 1000 }}
                     searchList={this.state.searchList}
                     columns={this.state.columns}
-                    tabelApi={'/api/admin/newOrder/statisticsList'}
-                    exportApi={'/api/admin/newOrder/statisticsListExprot'}
+                    tabelApi={'/api/admin/lagalAffairs/orderList'}
+                    exportApi={'/api/admin/lagalAffairs/orderList/Exprot'}
+                    query={{type:0}}
+                    exportExecProcessing={(data)=>{
+                        data.type = 0;
+                        return data;
+                    }}
                     dataProcessing={(data)=>{
                         let theArr = [];
-                        for (let i = 0; i < data.data.length; i++) {
-                            let thisdata = data.data[i];
+                        for (let i = 0; i < data.data.list.length; i++) {
+                            let thisdata = data.data.list[i];
                             thisdata.key=i + 1;
                             theArr.push(thisdata);
                         }
                         return theArr;
                     }}
                 />
+                {this.state.visible && <DunningRecord
+                    dataInfor={this.state.dataInfor}
+                    visible={this.state.visible}
+                    onCancel={()=>{
+                        this.setState({
+                            visible:false,
+                            dataInfor:{}
+                        })
+                    }}
+                />}
             </div>
         )
     }

+ 1 - 1
package.json

@@ -1,6 +1,6 @@
 {
   "name": "afanti",
-  "version": "1.1.96",
+  "version": "1.1.97",
   "description": "",
   "main": "index.js",
   "scripts": {

+ 6 - 0
webpack/entry.config.js

@@ -34,6 +34,7 @@ module.exports = {
     //admin/demand
     "admin/demand": "./js/admin/demand.js",
     "admin/customerService": "./js/admin/customerService.js",
+    "admin/legalAffairs": "./js/admin/legalAffairs.js",
     "admin/achievement": "./js/admin/achievement.js",
     "admin/customer": "./js/admin/customer.js",
     //admin/userOrder
@@ -137,6 +138,11 @@ module.exports = {
       "webpack/hot/only-dev-server",
       "./js/admin/customerService.js",
     ],
+    "admin/legalAffairs": [
+      "webpack-dev-server/client?http://127.0.0.1:80", // WebpackDevServer host and port
+      "webpack/hot/only-dev-server",
+      "./js/admin/legalAffairs.js",
+    ],
     "admin/achievement": [
       "webpack-dev-server/client?http://127.0.0.1:80", // WebpackDevServer host and port
       "webpack/hot/only-dev-server",